package com.sheng.leetcode.year2022.swordfingeroffer.day30;

import org.junit.Test;

import java.util.Arrays;

/**
 * @author liusheng
 * @date 2022/09/29
 *<p>
 * 剑指 Offer 17. 打印从1到最大的n位数<p>
 *<p>
 * 输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。<p>
 *<p>
 * 示例 1:<p>
 * 输入: n = 1<p>
 * 输出: [1,2,3,4,5,6,7,8,9]<p>
 *<p>
 * 说明：<p>
 * 用返回一个整数列表来代替打印<p>
 * n 为正整数<p>
 *<p>
 * 来源：力扣（LeetCode）<p>
 * 链接：<a href="https://leetcode.cn/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof">...</a><p>
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。<p>
 */
public class Sword0017 {

    @Test
    public void test01() {
        int n = 2;
        System.out.println(Arrays.toString(new Solution().printNumbers(n)));
    }
}
class Solution {
    public int[] printNumbers(int n) {
        int x = 9;
        while (n > 1) {
            x = x * 10 + 9;
            n--;
        }
        int[] nums = new int[x];
        for (int i = 0; i < x; i++) {
            nums[i] = i + 1;
        }
        return nums;
    }
}
